package edu.zut.array;

/**
 * 二维数组： 每一个元素有两下下标，分别表示行、列
 * 实际中，就是由多个一维数组组成的数组
 * 数组：一组具有相同数据类型的元素组成的
 * 数组本身属于引用  数据类型
 */
public class Demo4 {

    public static void main(String[] args) {
        String[] name_217 = {"jack", "tom", "rose", "lucy"};
        String[] name_218 = {"张三", "李四", "王五", "赵六"};
        String[] name_216 = {"花花", "美美", "丽丽", "天天", "豆豆"};
        //由上述三个 String[]  类型的元素组成一个新的数组
        //给定空间，第一个[]表示当前二维数组有几个元素（一维数组）构成，必须写
        // 第二个[]表示构成二维数组的一维数组的长度
        String[][] names_678 = new String[3][];
        names_678[0] = name_216;
        names_678[1] = name_217;
        names_678[2] = name_218;
        //直接赋值
        String[][] bigdataNames = {name_216, name_217, name_218};
        String[][] bigdataNames2 = {{"jack", "tom", "rose", "lucy"},
                {"张三", "李四", "王五", "赵六"},
                {"花花", "美美", "丽丽", "天天", "豆豆"}};
        //二维数组中每个具体元素有两个坐标   第一个坐标表示所在的行   第二个表示所在的列
        String[] firstRow = bigdataNames2[0];
        String name = firstRow[0];
        System.out.println("name = " + name);
        System.out.println("bigdataNames2[0][0] = " + bigdataNames2[0][0]);
        System.out.println("bigdataNames2[1][0] = " + bigdataNames2[1][0]);
        System.out.println("bigdataNames2[2][2] = " + bigdataNames2[2][2]);
        System.out.println("bigdataNames2[1][3] = " + bigdataNames2[1][3]);

        //获取数组的长度
        System.out.println(bigdataNames.length);

    }

}
